﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsMedida_CD
    {
        private dsTerreno dsTerreno;
        private dsTerrenoTableAdapters.MedidasTableAdapter TAMedidas;

        public clsMedida_CD()
        {
            this.dsTerreno = new dsTerreno();
            this.dsTerreno.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsTerreno.DataSetName = "dsTerreno";

            this.TAMedidas = new AvaProvi.dsTerrenoTableAdapters.MedidasTableAdapter();
            this.TAMedidas.ClearBeforeFill = true;
            //Falta la cadena de conexion
        }

        public dsTerreno.MedidasRow RecuperaMedida(int IDAvaluo)
        {
            TAMedidas.RecueperaMedida(dsTerreno.Medidas, IDAvaluo);
            foreach (dsTerreno.MedidasRow filaMedida in dsTerreno.Medidas)
            {
                return filaMedida;
            }
            return null;
        }

        public bool CreaNuevaMedida(clsMedida_CRN objMedida)
        {
            int RegistrosAfectados = TAMedidas.NuevaMedida(
                objMedida.Terreno.Inmueble.Avaluo.IdAvaluo,
                objMedida.MedidaSegun,
                objMedida.NoEscritura,
                objMedida.Fecha,
                objMedida.Notario,
                objMedida.NoNotario,
                objMedida.DatosRegistro,
                objMedida.ColindanciasPrivativas,
                objMedida.FrenteLote,
                objMedida.OrientacionLote,
                objMedida.Ubicacion);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaMedida(clsMedida_CRN objMedida)
        {
            int RegistrosAfectados = TAMedidas.ActualizaMedida(                
                objMedida.MedidaSegun,
                objMedida.NoEscritura,
                objMedida.Fecha,
                objMedida.Notario,
                objMedida.NoNotario,
                objMedida.DatosRegistro,
                objMedida.ColindanciasPrivativas,
                objMedida.FrenteLote,
                objMedida.OrientacionLote,
                objMedida.Ubicacion,
                objMedida.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaMedida(clsMedida_CRN objMedida)
        {
            int RegistrosAfectados = TAMedidas.EliminaMedida(               
                objMedida.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
